//
// Created by jsjxsy on 2022/9/1.
//
//
#include <01_14_5_exce.cpp>
int main() {
  employee em("Trip", "Harris", "Thumper");
  std::cout << em;
  em.ShowAll();
  manager ma("Amorphia", "Spindragon", "Nuancer", 5);
  std::cout << ma;
  ma.ShowAll();
  fink fi("Matt", "Oggs", "Oiler", "Juno Barr");
  std::cout << fi;
  fi.ShowAll();
  highfink hf(ma, "Curly Kew");
  hf.ShowAll();
  std::cout << "Press a key to next phase:\n";
  std::cin.get();// 接收任何一个字符
  highfink hf2;
  hf2.setAll();
  std::cout << "Using an abstr_emp* pointer:\n";
//  abstr_emp *tri[4] = {&em, &fi, &hf, &hf2};
//  for (int in = 0; in < 4; in++)
//    tri[in]->ShowAll();
  abstr_emp tri[4] = {em, fi, hf, hf2};
  for (int in = 0; in < 4; in++)
    tri[in].ShowAll();
  return 0;
}